package org.me.data;

import java.io.Serializable;
import java.util.List;

public interface GenericDaoHibernate {         
    public void saveOrUpdate(Object entity); //Graba o actualiza un entity x su Id, si el id es null Crea un nuevo registro de acuerdo ala Sequence Oracle, si se le pasa el id actualiza
    public String delete(Object entity); //Borra un entity x su Id    
    public <T> List<T> find(Class<T> entityClass);//Trae todos los Objetos 
    public <T> List<T> findByCriterio(String namedQuery, String paramName, Object value); //Trae los Objetos que coincidan con el criterio o parametro
     public <T> List<T> findByCriterio2( String namedQuery, String[] paramNames, Object[] values);//Trae los Objetos que coincidan con los criterios o parametros
    public <T> List<T> findByOnlyNamedQuery(String namedQuery ); //Trae los Objetos segun el  NamedQuery sin parametros  
    public <T> T findById(Class<T> entityClass, Serializable id);//Trae el objeto x el Id          
    
}
